var OSFPerformance;
(function (OSFPerformance) {
  OSFPerformance.officeExecuteStartDate = 0;
  OSFPerformance.officeExecuteStart = 0;
  OSFPerformance.officeExecuteEnd = 0;
  OSFPerformance.hostInitializationStart = 0;
  OSFPerformance.hostInitializationEnd = 0;
  OSFPerformance.getAppContextStart = 0;
  OSFPerformance.getAppContextEnd = 0;
  OSFPerformance.createOMEnd = 0;
  OSFPerformance.officeOnReady = 0;
  OSFPerformance.hostSpecificFileName = '';
  function now() {
    if (performance && performance.now) {
      return performance.now();
    } else {
      return 0;
    }
  }
  OSFPerformance.now = now;
})(OSFPerformance || (OSFPerformance = {}));
OSFPerformance.officeExecuteStartDate = Date.now();
OSFPerformance.officeExecuteStart = OSFPerformance.now();

/* Office JavaScript API library */

/*
	Copyright (c) Microsoft Corporation.  All rights reserved.
*/

/*
    Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.

    This file also contains the following Promise implementation (with a few small modifications):
        * @overview es6-promise - a tiny implementation of Promises/A+.
        * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
        * @license   Licensed under MIT license
        *            See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
        * @version   2.3.0
*/
var OSF = OSF || {};
OSF.HostSpecificFileVersionDefault = '16.00';
OSF.HostSpecificFileVersionMap = {
  access: { web: '16.00' },
  agavito: { winrt: '16.00' },
  excel: {
    ios: '16.00',
    mac: '16.00',
    web: '16.00',
    win32: '16.01',
    winrt: '16.00',
  },
  onenote: { android: '16.00', web: '16.00', win32: '16.00', winrt: '16.00' },
  outlook: { ios: '16.00', mac: '16.00', web: '16.01', win32: '16.02' },
  powerpoint: {
    ios: '16.00',
    mac: '16.00',
    web: '16.00',
    win32: '16.01',
    winrt: '16.00',
  },
  project: { win32: '16.00' },
  sway: { web: '16.00' },
  word: {
    ios: '16.00',
    mac: '16.00',
    web: '16.00',
    win32: '16.01',
    winrt: '16.00',
  },
  visio: { web: '16.00', win32: '16.00' },
};
OSF.SupportedLocales = {
  'ar-sa': true,
  'bg-bg': true,
  'bn-in': true,
  'ca-es': true,
  'cs-cz': true,
  'da-dk': true,
  'de-de': true,
  'el-gr': true,
  'en-us': true,
  'es-es': true,
  'et-ee': true,
  'eu-es': true,
  'fa-ir': true,
  'fi-fi': true,
  'fr-fr': true,
  'gl-es': true,
  'he-il': true,
  'hi-in': true,
  'hr-hr': true,
  'hu-hu': true,
  'id-id': true,
  'it-it': true,
  'ja-jp': true,
  'kk-kz': true,
  'ko-kr': true,
  'lo-la': true,
  'lt-lt': true,
  'lv-lv': true,
  'ms-my': true,
  'nb-no': true,
  'nl-nl': true,
  'nn-no': true,
  'pl-pl': true,
  'pt-br': true,
  'pt-pt': true,
  'ro-ro': true,
  'ru-ru': true,
  'sk-sk': true,
  'sl-si': true,
  'sr-cyrl-cs': true,
  'sr-cyrl-rs': true,
  'sr-latn-cs': true,
  'sr-latn-rs': true,
  'sv-se': true,
  'th-th': true,
  'tr-tr': true,
  'uk-ua': true,
  'ur-pk': true,
  'vi-vn': true,
  'zh-cn': true,
  'zh-tw': true,
};
OSF.AssociatedLocales = {
  ar: 'ar-sa',
  bg: 'bg-bg',
  bn: 'bn-in',
  ca: 'ca-es',
  cs: 'cs-cz',
  da: 'da-dk',
  de: 'de-de',
  el: 'el-gr',
  en: 'en-us',
  es: 'es-es',
  et: 'et-ee',
  eu: 'eu-es',
  fa: 'fa-ir',
  fi: 'fi-fi',
  fr: 'fr-fr',
  gl: 'gl-es',
  he: 'he-il',
  hi: 'hi-in',
  hr: 'hr-hr',
  hu: 'hu-hu',
  id: 'id-id',
  it: 'it-it',
  ja: 'ja-jp',
  kk: 'kk-kz',
  ko: 'ko-kr',
  lo: 'lo-la',
  lt: 'lt-lt',
  lv: 'lv-lv',
  ms: 'ms-my',
  nb: 'nb-no',
  nl: 'nl-nl',
  nn: 'nn-no',
  pl: 'pl-pl',
  pt: 'pt-br',
  ro: 'ro-ro',
  ru: 'ru-ru',
  sk: 'sk-sk',
  sl: 'sl-si',
  sr: 'sr-cyrl-cs',
  sv: 'sv-se',
  th: 'th-th',
  tr: 'tr-tr',
  uk: 'uk-ua',
  ur: 'ur-pk',
  vi: 'vi-vn',
  zh: 'zh-cn',
};
OSF.getSupportedLocale = function (a, c) {
  if (c === void 0) c = 'en-us';
  if (!a) return c;
  var b;
  a = a.toLowerCase();
  if (a in OSF.SupportedLocales) b = a;
  else {
    var d = a.split('-', 1);
    if (d && d.length > 0) b = OSF.AssociatedLocales[d[0]];
  }
  if (!b) b = c;
  return b;
};
var ScriptLoading;
(function (e) {
  var a = false,
    b = (function () {
      function b(g, e, d, f, c) {
        var b = this;
        b.url = g;
        b.isReady = e;
        b.hasStarted = d;
        b.timer = f;
        b.hasError = a;
        b.pendingCallbacks = [];
        b.pendingCallbacks.push(c);
      }
      return b;
    })(),
    d = (function () {
      function a(c, b, a) {
        this.scriptId = c;
        this.startTime = b;
        this.msResponseTime = a;
      }
      return a;
    })(),
    c = (function () {
      var c = true,
        e = null;
      function f(b) {
        var a = this;
        if (b === void 0)
          b = { OfficeJS: 'office.js', OfficeDebugJS: 'office.debug.js' };
        a.constantNames = b;
        a.defaultScriptLoadingTimeout = 1e4;
        a.loadedScriptByIds = {};
        a.scriptTelemetryBuffer = [];
        a.osfControlAppCorrelationId = '';
        a.basePath = e;
      }
      f.prototype.isScriptLoading = function (a) {
        return !!(
          this.loadedScriptByIds[a] && this.loadedScriptByIds[a].hasStarted
        );
      };
      f.prototype.getOfficeJsBasePath = function () {
        var a = this;
        if (a.basePath) return a.basePath;
        else {
          for (
            var g = function (b, c) {
                var d, a, e;
                e = b.toLowerCase();
                a = e.indexOf(c);
                if (
                  a >= 0 &&
                  a === b.length - c.length &&
                  (a === 0 ||
                    b.charAt(a - 1) === '/' ||
                    b.charAt(a - 1) === '\\')
                )
                  d = b.substring(0, a);
                else if (
                  a >= 0 &&
                  a < b.length - c.length &&
                  b.charAt(a + c.length) === '?' &&
                  (a === 0 ||
                    b.charAt(a - 1) === '/' ||
                    b.charAt(a - 1) === '\\')
                )
                  d = b.substring(0, a);
                return d;
              },
              d = document.getElementsByTagName('script'),
              h = d.length,
              e = [a.constantNames.OfficeJS, a.constantNames.OfficeDebugJS],
              f = e.length,
              c,
              b = 0;
            !a.basePath && b < h;
            b++
          )
            if (d[b].src)
              for (c = 0; !a.basePath && c < f; c++)
                a.basePath = g(d[b].src, e[c]);
          return a.basePath;
        }
      };
      f.prototype.loadScript = function (e, d, c, a, b) {
        this.loadScriptInternal(e, d, c, a, b);
      };
      f.prototype.loadScriptParallel = function (d, c, b) {
        this.loadScriptInternal(d, c, e, a, b);
      };
      f.prototype.waitForFunction = function (g, e, h, i) {
        var b = h,
          f,
          d = function () {
            b--;
            if (g()) {
              e(c);
              return;
            } else if (b > 0) {
              f = window.setTimeout(d, i);
              b--;
            } else {
              window.clearTimeout(f);
              e(a);
            }
          };
        d();
      };
      f.prototype.waitForScripts = function (b, e) {
        var f = this;
        if (this.invokeCallbackIfScriptsReady(b, e) == a)
          for (var c = 0; c < b.length; c++) {
            var g = b[c],
              d = this.loadedScriptByIds[g];
            d &&
              d.pendingCallbacks.push(function () {
                f.invokeCallbackIfScriptsReady(b, e);
              });
          }
      };
      f.prototype.logScriptLoading = function (c, a, b) {
        a = Math.floor(a);
        if (OSF.AppTelemetry && OSF.AppTelemetry.onScriptDone)
          if (OSF.AppTelemetry.onScriptDone.length == 3)
            OSF.AppTelemetry.onScriptDone(c, a, b);
          else
            OSF.AppTelemetry.onScriptDone(
              c,
              a,
              b,
              this.osfControlAppCorrelationId
            );
        else {
          var e = new d(c, a, b);
          this.scriptTelemetryBuffer.push(e);
        }
      };
      f.prototype.setAppCorrelationId = function (a) {
        this.osfControlAppCorrelationId = a;
      };
      f.prototype.invokeCallbackIfScriptsReady = function (h, j) {
        for (var g = a, f = 0; f < h.length; f++) {
          var i = h[f],
            d = this.loadedScriptByIds[i];
          if (!d) {
            d = new b('', a, a, e, e);
            this.loadedScriptByIds[i] = d;
          }
          if (d.isReady == a) return a;
          else if (d.hasError) g = c;
        }
        j(!g);
        return c;
      };
      f.prototype.getScriptEntryByUrl = function (c) {
        for (var b in this.loadedScriptByIds) {
          var a = this.loadedScriptByIds[b];
          if (this.loadedScriptByIds.hasOwnProperty(b) && a.url === c) return a;
        }
        return e;
      };
      f.prototype.loadScriptInternal = function (h, g, i, n, k) {
        var j = this;
        if (h) {
          var q = j,
            r = window.document,
            d =
              g && j.loadedScriptByIds[g]
                ? j.loadedScriptByIds[g]
                : j.getScriptEntryByUrl(h);
          if (!d || d.hasError || d.url.toLowerCase() != h.toLowerCase()) {
            var f = r.createElement('script');
            f.type = 'text/javascript';
            if (g) f.id = g;
            if (!d) {
              d = new b(h, a, a, e, e);
              j.loadedScriptByIds[g ? g : h] = d;
            } else {
              d.url = h;
              d.hasError = a;
              d.isReady = a;
            }
            if (i)
              if (n) d.pendingCallbacks.unshift(i);
              else d.pendingCallbacks.push(i);
            var l = -1;
            if (window.performance && window.performance.now)
              l = window.performance.now();
            var s = new Date().getTime(),
              o = function (b) {
                if (g) {
                  var a = new Date().getTime() - s;
                  if (!b) a = -a;
                  q.logScriptLoading(g, l, a);
                }
                q.flushTelemetryBuffer();
              },
              m = function () {
                var b = 'undefined';
                if (
                  OSF._OfficeAppFactory.getHostInfo().hostType == 'onenote' &&
                  typeof OSF.AppTelemetry !== b &&
                  typeof OSF.AppTelemetry.enableTelemetry !== b
                )
                  OSF.AppTelemetry.enableTelemetry = a;
                if (
                  !OSF._OfficeAppFactory.getLoggingAllowed() &&
                  typeof OSF.AppTelemetry !== b
                )
                  OSF.AppTelemetry.enableTelemetry = a;
                o(c);
                d.isReady = c;
                if (d.timer != e) {
                  clearTimeout(d.timer);
                  delete d.timer;
                }
                for (var h = d.pendingCallbacks.length, g = 0; g < h; g++) {
                  var f = d.pendingCallbacks.shift();
                  if (f) {
                    var i = f(c);
                    if (i === a) break;
                  }
                }
              },
              p = function () {
                o(a);
                d.hasError = c;
                d.isReady = c;
                if (d.timer != e) {
                  clearTimeout(d.timer);
                  delete d.timer;
                }
                for (var g = d.pendingCallbacks.length, f = 0; f < g; f++) {
                  var b = d.pendingCallbacks.shift();
                  if (b) {
                    var h = b(a);
                    if (h === a) break;
                  }
                }
              };
            if (f.readyState)
              f.onreadystatechange = function () {
                if (f.readyState == 'loaded' || f.readyState == 'complete') {
                  f.onreadystatechange = e;
                  m();
                }
              };
            else f.onload = m;
            f.onerror = p;
            k = k || j.defaultScriptLoadingTimeout;
            d.timer = setTimeout(p, k);
            d.hasStarted = c;
            f.setAttribute('crossOrigin', 'anonymous');
            f.src = h;
            r.getElementsByTagName('head')[0].appendChild(f);
          } else if (d.isReady) i(c);
          else if (n) d.pendingCallbacks.unshift(i);
          else d.pendingCallbacks.push(i);
        }
      };
      f.prototype.flushTelemetryBuffer = function () {
        var b = this;
        if (OSF.AppTelemetry && OSF.AppTelemetry.onScriptDone) {
          for (var c = 0; c < b.scriptTelemetryBuffer.length; c++) {
            var a = b.scriptTelemetryBuffer[c];
            if (OSF.AppTelemetry.onScriptDone.length == 3)
              OSF.AppTelemetry.onScriptDone(
                a.scriptId,
                a.startTime,
                a.msResponseTime
              );
            else
              OSF.AppTelemetry.onScriptDone(
                a.scriptId,
                a.startTime,
                a.msResponseTime,
                b.osfControlAppCorrelationId
              );
          }
          b.scriptTelemetryBuffer = [];
        }
      };
      return f;
    })();
  e.LoadScriptHelper = c;
})(ScriptLoading || (ScriptLoading = {}));
var OfficeExt;
(function (a) {
  var b;
  (function (a) {
    var b = (function () {
      function a() {
        var a = this;
        a.getDiagnostics = function (b) {
          var a = {
            host: this.getHost(),
            version: b || this.getDefaultVersion(),
            platform: this.getPlatform(),
          };
          return a;
        };
        a.platformRemappings = {
          web: Microsoft.Office.WebExtension.PlatformType.OfficeOnline,
          winrt: Microsoft.Office.WebExtension.PlatformType.Universal,
          win32: Microsoft.Office.WebExtension.PlatformType.PC,
          mac: Microsoft.Office.WebExtension.PlatformType.Mac,
          ios: Microsoft.Office.WebExtension.PlatformType.iOS,
          android: Microsoft.Office.WebExtension.PlatformType.Android,
        };
        a.camelCaseMappings = {
          powerpoint: Microsoft.Office.WebExtension.HostType.PowerPoint,
          onenote: Microsoft.Office.WebExtension.HostType.OneNote,
        };
        a.hostInfo = OSF._OfficeAppFactory.getHostInfo();
        a.getHost = a.getHost.bind(a);
        a.getPlatform = a.getPlatform.bind(a);
        a.getDiagnostics = a.getDiagnostics.bind(a);
      }
      a.prototype.capitalizeFirstLetter = function (a) {
        if (a) return a[0].toUpperCase() + a.slice(1).toLowerCase();
        return a;
      };
      a.getInstance = function () {
        if (a.hostObj === undefined) a.hostObj = new a();
        return a.hostObj;
      };
      a.prototype.getPlatform = function () {
        var a = this;
        if (a.hostInfo.hostPlatform) {
          var b = a.hostInfo.hostPlatform.toLowerCase();
          if (a.platformRemappings[b]) return a.platformRemappings[b];
        }
        return null;
      };
      a.prototype.getHost = function () {
        var a = this;
        if (a.hostInfo.hostType) {
          var b = a.hostInfo.hostType.toLowerCase();
          if (a.camelCaseMappings[b]) return a.camelCaseMappings[b];
          b = a.capitalizeFirstLetter(a.hostInfo.hostType);
          if (Microsoft.Office.WebExtension.HostType[b])
            return Microsoft.Office.WebExtension.HostType[b];
        }
        return null;
      };
      a.prototype.getDefaultVersion = function () {
        if (this.getHost()) return '16.0.0000.0000';
        return null;
      };
      return a;
    })();
    a.Host = b;
  })((b = a.HostName || (a.HostName = {})));
})(OfficeExt || (OfficeExt = {}));
var Office;
(function (d) {
  var a = true,
    b = 'undefined',
    c = 'function',
    e;
  (function (d) {
    var e;
    (function (d) {
      function e() {
        return function () {
          var d = null,
            e = 'object';
          ('use strict');
          function Q(a) {
            return typeof a === c || (typeof a === e && a !== d);
          }
          function y(a) {
            return typeof a === c;
          }
          function T(a) {
            return typeof a === e && a !== d;
          }
          var z;
          if (!Array.isArray)
            z = function (a) {
              return Object.prototype.toString.call(a) === '[object Array]';
            };
          else z = Array.isArray;
          var D = z,
            r = 0,
            pb = {}.toString,
            jb,
            w,
            l = function (a, b) {
              q[r] = a;
              q[r + 1] = b;
              r += 2;
              if (r === 2)
                if (w) w(p);
                else u();
            };
          function cb(a) {
            w = a;
          }
          function lb(a) {
            l = a;
          }
          var X = typeof window !== b ? window : undefined,
            C = X || {},
            G = C.MutationObserver || C.WebKitMutationObserver,
            mb =
              typeof process !== b &&
              {}.toString.call(process) === '[object process]',
            kb =
              typeof Uint8ClampedArray !== b &&
              typeof importScripts !== b &&
              typeof MessageChannel !== b;
          function eb() {
            var b = process.nextTick,
              a = process.versions.node.match(
                /^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/
              );
            if (Array.isArray(a) && a[1] === '0' && a[2] === '10')
              b = setImmediate;
            return function () {
              b(p);
            };
          }
          function O() {
            var a = new MessageChannel();
            a.port1.onmessage = p;
            return function () {
              a.port2.postMessage(0);
            };
          }
          function Y() {
            return function () {
              setTimeout(p, 1);
            };
          }
          var q = new Array(1e3);
          function p() {
            for (var a = 0; a < r; a += 2) {
              var b = q[a],
                c = q[a + 1];
              b(c);
              q[a] = undefined;
              q[a + 1] = undefined;
            }
            r = 0;
          }
          var u;
          if (mb) u = eb();
          else if (kb) u = O();
          else u = Y();
          function o() {}
          var k = void 0,
            m = 1,
            j = 2,
            s = new B();
          function K() {
            return new TypeError('You cannot resolve a promise with itself');
          }
          function L() {
            return new TypeError(
              'A promises callback cannot return that same promise.'
            );
          }
          function ab(b) {
            try {
              return b.then;
            } catch (a) {
              s.error = a;
              return s;
            }
          }
          function bb(e, d, b, c) {
            try {
              e.call(d, b, c);
            } catch (a) {
              return a;
            }
          }
          function E(c, b, d) {
            l(function (e) {
              var c = false,
                g = bb(
                  d,
                  b,
                  function (d) {
                    if (c) return;
                    c = a;
                    if (b !== d) n(e, d);
                    else h(e, d);
                  },
                  function (b) {
                    if (c) return;
                    c = a;
                    f(e, b);
                  },
                  'Settle: ' + (e._label || ' unknown promise')
                );
              if (!c && g) {
                c = a;
                f(e, g);
              }
            }, c);
          }
          function H(b, a) {
            if (a._state === m) h(b, a._result);
            else if (a._state === j) f(b, a._result);
            else
              t(
                a,
                undefined,
                function (a) {
                  n(b, a);
                },
                function (a) {
                  f(b, a);
                }
              );
          }
          function F(b, a) {
            if (a.constructor === b.constructor) H(b, a);
            else {
              var c = ab(a);
              if (c === s) f(b, s.error);
              else if (c === undefined) h(b, a);
              else if (y(c)) E(b, a, c);
              else h(b, a);
            }
          }
          function n(a, b) {
            if (a === b) f(a, K());
            else if (Q(b)) F(a, b);
            else h(a, b);
          }
          function J(a) {
            a._onerror && a._onerror(a._result);
            x(a);
          }
          function h(a, b) {
            if (a._state !== k) return;
            a._result = b;
            a._state = m;
            a._subscribers.length !== 0 && l(x, a);
          }
          function f(a, b) {
            if (a._state !== k) return;
            a._state = j;
            a._result = b;
            l(J, a);
          }
          function t(c, g, e, f) {
            var a = c._subscribers,
              b = a.length;
            c._onerror = d;
            a[b] = g;
            a[b + m] = e;
            a[b + j] = f;
            b === 0 && c._state && l(x, c);
          }
          function x(b) {
            var a = b._subscribers,
              f = b._state;
            if (a.length === 0) return;
            for (var e, d, g = b._result, c = 0; c < a.length; c += 3) {
              e = a[c];
              d = a[c + f];
              if (e) A(f, e, d, g);
              else d(g);
            }
            b._subscribers.length = 0;
          }
          function B() {
            this.error = d;
          }
          var v = new B();
          function W(b, c) {
            try {
              return b(c);
            } catch (a) {
              v.error = a;
              return v;
            }
          }
          function A(l, c, i, o) {
            var g = y(i),
              b,
              q,
              e,
              p;
            if (g) {
              b = W(i, o);
              if (b === v) {
                p = a;
                q = b.error;
                b = d;
              } else e = a;
              if (c === b) {
                f(c, L());
                return;
              }
            } else {
              b = o;
              e = a;
            }
            if (c._state === k)
              if (g && e) n(c, b);
              else if (p) f(c, q);
              else if (l === m) h(c, b);
              else l === j && f(c, b);
          }
          function I(a, c) {
            try {
              c(
                function (b) {
                  n(a, b);
                },
                function (b) {
                  f(a, b);
                }
              );
            } catch (b) {
              f(a, b);
            }
          }
          function i(c, b) {
            var a = this;
            a._instanceConstructor = c;
            a.promise = new c(o);
            if (a._validateInput(b)) {
              a._input = b;
              a.length = b.length;
              a._remaining = b.length;
              a._init();
              if (a.length === 0) h(a.promise, a._result);
              else {
                a.length = a.length || 0;
                a._enumerate();
                a._remaining === 0 && h(a.promise, a._result);
              }
            } else f(a.promise, a._validationError());
          }
          i.prototype._validateInput = function (a) {
            return D(a);
          };
          i.prototype._validationError = function () {
            return new Error('Array Methods must be provided an Array');
          };
          i.prototype._init = function () {
            this._result = new Array(this.length);
          };
          var Z = i;
          i.prototype._enumerate = function () {
            for (
              var a = this, d = a.length, c = a.promise, e = a._input, b = 0;
              c._state === k && b < d;
              b++
            )
              a._eachEntry(e[b], b);
          };
          i.prototype._eachEntry = function (a, c) {
            var b = this,
              e = b._instanceConstructor;
            if (T(a))
              if (a.constructor === e && a._state !== k) {
                a._onerror = d;
                b._settledAt(a._state, c, a._result);
              } else b._willSettleAt(e.resolve(a), c);
            else {
              b._remaining--;
              b._result[c] = a;
            }
          };
          i.prototype._settledAt = function (d, e, c) {
            var a = this,
              b = a.promise;
            if (b._state === k) {
              a._remaining--;
              if (d === j) f(b, c);
              else a._result[e] = c;
            }
            a._remaining === 0 && h(b, a._result);
          };
          i.prototype._willSettleAt = function (c, b) {
            var a = this;
            t(
              c,
              undefined,
              function (c) {
                a._settledAt(m, b, c);
              },
              function (c) {
                a._settledAt(j, b, c);
              }
            );
          };
          function ib(a) {
            return new Z(this, a).promise;
          }
          var V = ib;
          function db(b) {
            var d = this,
              a = new d(o);
            if (!D(b)) {
              f(a, new TypeError('You must pass an array to race.'));
              return a;
            }
            var h = b.length;
            function e(b) {
              n(a, b);
            }
            function g(b) {
              f(a, b);
            }
            for (var c = 0; a._state === k && c < h; c++)
              t(d.resolve(b[c]), undefined, e, g);
            return a;
          }
          var U = db;
          function N(a) {
            var b = this;
            if (a && typeof a === e && a.constructor === b) return a;
            var c = new b(o);
            n(c, a);
            return c;
          }
          var M = N;
          function S(c) {
            var b = this,
              a = new b(o);
            f(a, c);
            return a;
          }
          var P = S,
            gb = 0;
          function R() {
            throw new TypeError(
              'You must pass a resolver function as the first argument to the promise constructor'
            );
          }
          function fb() {
            throw new TypeError(
              "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."
            );
          }
          var hb = g;
          function g(b) {
            var a = this;
            a._id = gb++;
            a._state = undefined;
            a._result = undefined;
            a._subscribers = [];
            if (o !== b) {
              !y(b) && R();
              !(a instanceof g) && fb();
              I(a, b);
            }
          }
          g.all = V;
          g.race = U;
          g.resolve = M;
          g.reject = P;
          g._setScheduler = cb;
          g._setAsap = lb;
          g._asap = l;
          g.prototype = {
            constructor: g,
            then: function (d, e) {
              var b = this,
                a = b._state;
              if ((a === m && !d) || (a === j && !e)) return this;
              var c = new this.constructor(o),
                g = b._result;
              if (a) {
                var f = arguments[a - 1];
                l(function () {
                  A(a, c, f, g);
                });
              } else t(b, c, d, e);
              return c;
            },
            catch: function (a) {
              return this.then(d, a);
            },
          };
          return hb;
        }.call(this);
      }
      d.Init = e;
    })((e = d.PromiseImpl || (d.PromiseImpl = {})));
  })((e = d._Internal || (d._Internal = {})));
  var e;
  (function (d) {
    function f() {
      var b = window.navigator.userAgent,
        c = b.indexOf('Edge/');
      if (c >= 0) {
        b = b.substring(c + 5, b.length);
        if (b < '14.14393') return a;
        else return false;
      }
      return false;
    }
    function e() {
      if (typeof window === b && typeof Promise === c) return Promise;
      if (typeof window !== b && window.Promise)
        if (f()) return d.PromiseImpl.Init();
        else return window.Promise;
      else return d.PromiseImpl.Init();
    }
    d.OfficePromise = e();
  })((e = d._Internal || (d._Internal = {})));
  var f = e.OfficePromise;
  d.Promise = f;
})(Office || (Office = {}));
var OTel;
(function (c) {
  var a = 'telemetry/oteljs_agave.js',
    b = (function () {
      function b() {}
      b.loaded = function () {
        return !(b.logger === undefined);
      };
      b.getOtelSinkCDNLocation = function () {
        return (
          OSF._OfficeAppFactory.getLoadScriptHelper().getOfficeJsBasePath() + a
        );
      };
      b.getMapName = function (b, a) {
        if (a !== undefined && b.hasOwnProperty(a)) return b[a];
        return a;
      };
      b.getHost = function () {
        var c = OSF._OfficeAppFactory.getHostInfo()['hostType'],
          d = {
            excel: 'Excel',
            onenote: 'OneNote',
            outlook: 'Outlook',
            powerpoint: 'PowerPoint',
            project: 'Project',
            visio: 'Visio',
            word: 'Word',
          },
          a = b.getMapName(d, c);
        return a;
      };
      b.getFlavor = function () {
        var c = OSF._OfficeAppFactory.getHostInfo()['hostPlatform'],
          d = {
            android: 'Android',
            ios: 'iOS',
            mac: 'Mac',
            universal: 'Universal',
            web: 'Web',
            win32: 'Win32',
          },
          a = b.getMapName(d, c);
        return a;
      };
      b.ensureValue = function (a, b) {
        if (!a) return b;
        return a;
      };
      b.create = function (a) {
        var h = {
            id: a.appId,
            assetId: a.assetId,
            officeJsVersion: a.officeJSVersion,
            hostJsVersion: a.hostJSVersion,
            browserToken: a.clientId,
            instanceId: a.appInstanceId,
            name: a.name,
            sessionId: a.sessionId,
          },
          k = oteljs.Contracts.Office.System.SDX.getFields('SDX', h),
          l = b.getHost(),
          d = b.getFlavor(),
          j =
            d === 'Web' && a.hostVersion.slice(0, 2) === '0.'
              ? '16.0.0.0'
              : a.hostVersion,
          i = {
            'App.Name': l,
            'App.Platform': d,
            'App.Version': j,
            'Session.Id': b.ensureValue(
              a.correlationId,
              '00000000-0000-0000-0000-000000000000'
            ),
          },
          m = oteljs_agave.AgaveSink.createInstance(i),
          g = 'Office.Extensibility.OfficeJs',
          f =
            'db334b301e7b474db5e0f02f07c51a47-a1b5bc36-1bbe-482f-a64a-c2d9cb606706-7439',
          e = 1755,
          c = new oteljs.TelemetryLogger(undefined, k);
        c.addSink(m);
        c.setTenantToken(g, f, e);
        return c;
      };
      b.initialize = function (e) {
        if (!b.Enabled) {
          b.promises = [];
          return;
        }
        var a = 1e3,
          d = function () {
            var a = 'undefined';
            if (typeof oteljs === a || typeof oteljs_agave === a) return;
            if (!b.loaded()) b.logger = b.create(e);
            b.loaded() &&
              b.promises.forEach(function (a) {
                a();
              });
          },
          c = function () {
            Microsoft.Office.WebExtension.onReadyInternal().then(function () {
              return d();
            });
          };
        OSF.OUtil.loadScript(b.getOtelSinkCDNLocation(), c, a);
      };
      b.sendTelemetryEvent = function (a) {
        b.onTelemetryLoaded(function () {
          try {
            b.logger.sendTelemetryEvent(a);
          } catch (c) {}
        });
      };
      b.onTelemetryLoaded = function (a) {
        if (!b.Enabled) return;
        if (b.loaded()) a();
        else b.promises.push(a);
      };
      b.promises = [];
      b.Enabled = true;
      return b;
    })();
  c.OTelLogger = b;
})(OTel || (OTel = {}));
var OfficeExt;
(function (b) {
  var a = (function () {
    function a() {
      this.m_mappings = {};
      this.m_onchangeHandlers = [];
    }
    a.prototype.associate = function () {
      var a = '[InvalidArg] Function=associate',
        b = this;
      function c(a) {
        typeof console !== 'undefined' && console.warn && console.warn(a);
      }
      if (
        arguments.length == 1 &&
        typeof arguments[0] === 'object' &&
        arguments[0]
      ) {
        var g = arguments[0];
        for (var i in g) b.associate(i, g[i]);
      } else if (arguments.length == 2) {
        var d = arguments[0],
          h = arguments[1];
        if (typeof d !== 'string') {
          c(a);
          return;
        }
        if (typeof h !== 'function') {
          c(a);
          return;
        }
        var f = d.toUpperCase();
        b.m_mappings[f] && c('[DuplicatedName] Function=' + d);
        b.m_mappings[f] = h;
        for (var e = 0; e < b.m_onchangeHandlers.length; e++)
          b.m_onchangeHandlers[e]();
      } else c(a);
    };
    a.prototype.onchange = function (a) {
      a && this.m_onchangeHandlers.push(a);
    };
    Object.defineProperty(a.prototype, 'mappings', {
      get: function () {
        return this.m_mappings;
      },
      enumerable: true,
      configurable: true,
    });
    return a;
  })();
  b.Association = a;
})(OfficeExt || (OfficeExt = {}));
var CustomFunctionMappings = window.CustomFunctionMappings || {},
  CustomFunctions;
(function (a) {
  var b = '__delay__';
  function c() {
    CustomFunctionMappings[b] = true;
  }
  a.delayInitialization = c;
  a._association = new OfficeExt.Association();
  function d() {
    a._association.associate.apply(a._association, arguments);
    delete CustomFunctionMappings[b];
  }
  a.associate = d;
})(CustomFunctions || (CustomFunctions = {}));
var Office;
(function (a) {
  var b;
  (function (a) {
    a._association = new OfficeExt.Association();
    function b() {
      a._association.associate.apply(a._association, arguments);
    }
    a.associate = b;
  })((b = a.actions || (a.actions = {})));
})(Office || (Office = {}));
(function () {
  var a = OSF.ConstantNames || {};
  OSF.ConstantNames = {
    FileVersion: '0.0.0.0',
    OfficeJS: 'office.js',
    OfficeDebugJS: 'office.debug.js',
    DefaultLocale: 'en-us',
    LocaleStringLoadingTimeout: 5e3,
    MicrosoftAjaxId: 'MSAJAX',
    OfficeStringsId: 'OFFICESTRINGS',
    OfficeJsId: 'OFFICEJS',
    HostFileId: 'HOST',
    O15MappingId: 'O15Mapping',
    OfficeStringJS: 'office_strings.js',
    O15InitHelper: 'o15apptofilemappingtable.js',
    SupportedLocales: OSF.SupportedLocales,
    AssociatedLocales: OSF.AssociatedLocales,
  };
  for (var b in a) OSF.ConstantNames[b] = a[b];
})();
OSF.InitializationHelper = function (d, b, f, e, c) {
  var a = this;
  a._hostInfo = d;
  a._webAppState = b;
  a._context = f;
  a._settings = e;
  a._hostFacade = c;
};
OSF.InitializationHelper.prototype.saveAndSetDialogInfo = function () {};
OSF.InitializationHelper.prototype.getAppContext = function () {};
OSF.InitializationHelper.prototype.setAgaveHostCommunication = function () {};
OSF.InitializationHelper.prototype.prepareRightBeforeWebExtensionInitialize = function () {};
OSF.InitializationHelper.prototype.loadAppSpecificScriptAndCreateOM = function () {};
OSF.InitializationHelper.prototype.prepareRightAfterWebExtensionInitialize = function () {};
OSF.HostInfoFlags = { SharedApp: 1, CustomFunction: 2 };
OSF._OfficeAppFactory = (function () {
  var m = '_host_Info',
    g = 'function',
    a = 'undefined',
    f = '',
    d = true,
    e = false,
    b = null,
    o = function (b, a) {
      if (a && b && !a[b]) a[b] = {};
    };
  o('Office', window);
  o('Microsoft', window);
  o('Office', Microsoft);
  o('WebExtension', Microsoft.Office);
  if (typeof window.Office === 'object')
    for (var s in window.Office)
      if (window.Office.hasOwnProperty(s))
        Microsoft.Office.WebExtension[s] = window.Office[s];
  window.Office = Microsoft.Office.WebExtension;
  var y = { 0: 'Unknown', 1: 'Hidden', 2: 'Taskpane', 3: 'Dialog' };
  Microsoft.Office.WebExtension.PlatformType = {
    PC: 'PC',
    OfficeOnline: 'OfficeOnline',
    Mac: 'Mac',
    iOS: 'iOS',
    Android: 'Android',
    Universal: 'Universal',
  };
  Microsoft.Office.WebExtension.HostType = {
    Word: 'Word',
    Excel: 'Excel',
    PowerPoint: 'PowerPoint',
    Outlook: 'Outlook',
    OneNote: 'OneNote',
    Project: 'Project',
    Access: 'Access',
    Visio: 'Visio',
  };
  var r = {},
    H = {},
    q = {},
    j = {
      id: b,
      webAppUrl: b,
      conversationID: b,
      clientEndPoint: b,
      wnd: window.parent,
      focused: e,
    },
    c = {
      isO15: d,
      isRichClient: d,
      hostType: f,
      hostPlatform: f,
      hostSpecificFileVersion: f,
      hostLocale: f,
      osfControlAppCorrelationId: f,
      isDialog: e,
      disableLogging: e,
      flags: 0,
    },
    l = d,
    i = {},
    w = b,
    v = e,
    n = [],
    u = e,
    k = { host: b, platform: b, addin: b },
    h = new ScriptLoading.LoadScriptHelper({
      OfficeJS: OSF.ConstantNames.OfficeJS,
      OfficeDebugJS: OSF.ConstantNames.OfficeDebugJS,
    });
  window.performance &&
    window.performance.now &&
    h.logScriptLoading(
      OSF.ConstantNames.OfficeJsId,
      -1,
      window.performance.now()
    );
  var C = window.location.hash,
    B = window.location.search,
    x = window.name,
    t = function (b) {
      var f = b.host,
        c = b.platform,
        e = b.addin;
      v = d;
      if (typeof OSFPerformance !== a)
        OSFPerformance.officeOnReady = OSFPerformance.now();
      k = { host: f, platform: c, addin: e };
      while (n.length > 0) n.shift()(k);
    };
  Microsoft.Office.WebExtension.FeatureGates = {};
  Microsoft.Office.WebExtension.sendTelemetryEvent = function (a) {
    OTel.OTelLogger.sendTelemetryEvent(a);
  };
  Microsoft.Office.WebExtension.onReadyInternal = function (a) {
    if (v) {
      var e = k.host,
        c = k.platform,
        d = k.addin;
      if (a) {
        var b = a({ host: e, platform: c, addin: d });
        if (b && b.then && typeof b.then === g)
          return b.then(function () {
            return Office.Promise.resolve({ host: e, platform: c, addin: d });
          });
      }
      return Office.Promise.resolve({ host: e, platform: c, addin: d });
    }
    if (a)
      return new Office.Promise(function (b) {
        n.push(function (d) {
          var c = a(d);
          if (c && c.then && typeof c.then === g)
            return c.then(function () {
              return b(d);
            });
          b(d);
        });
      });
    return new Office.Promise(function (a) {
      n.push(a);
    });
  };
  Microsoft.Office.WebExtension.onReady = function (a) {
    u = d;
    return Microsoft.Office.WebExtension.onReadyInternal(a);
  };
  var p = function (g) {
      var c,
        d = window.location.search;
      if (d) {
        var b = d.split(g + '=');
        if (b.length > 1) {
          var e = b[1],
            f = new RegExp('[&#]', 'g'),
            a = e.split(f);
          if (a.length > 0) c = a[0];
        }
      }
      return c;
    },
    F = function (f, g) {
      var b = f.split('.'),
        c = g.split('.'),
        a;
      for (a in b)
        if (parseInt(b[a]) < parseInt(c[a])) return e;
        else if (parseInt(b[a]) > parseInt(c[a])) return d;
      return e;
    },
    z = function () {
      try {
        var b = '15.30.1128.0',
          a = window.external.GetContext().GetHostFullVersion();
      } catch (c) {
        return e;
      }
      return !!F(b, a);
    },
    A = function () {
      l = d;
      try {
        if (c.disableLogging) {
          l = e;
          return;
        }
        window.external = window.external || {};
        if (typeof window.external.GetLoggingAllowed === a) l = d;
        else l = window.external.GetLoggingAllowed();
      } catch (b) {}
    },
    E = function () {
      var i = 'hostInfoValue',
        l = 'isDialog',
        o = m,
        h = p(o);
      if (!h)
        try {
          var r = JSON.parse(x);
          h = r ? r['hostInfo'] : b;
        } catch (s) {}
      if (!h)
        try {
          window.external = window.external || {};
          if (typeof agaveHost !== a && agaveHost.GetHostInfo)
            window.external.GetHostInfo = function () {
              return agaveHost.GetHostInfo();
            };
          var k = window.external.GetHostInfo();
          if (k == l) {
            c.isO15 = d;
            c.isDialog = d;
          } else if (
            k.toLowerCase().indexOf('mac') !== -1 &&
            k.toLowerCase().indexOf('outlook') !== -1 &&
            z()
          )
            c.isO15 = d;
          else {
            var q = k.split(o + '=');
            if (q.length > 1) h = q[1];
            else h = k;
          }
        } catch (s) {}
      var u = function () {
          var a = b;
          try {
            if (window.sessionStorage) a = window.sessionStorage;
          } catch (c) {}
          return a;
        },
        j = u();
      if (!h && j && j.getItem(i)) h = j.getItem(i);
      if (h) {
        h = decodeURIComponent(h);
        c.isO15 = e;
        var g = h.split('$');
        if (typeof g[2] == a) g = h.split('|');
        c.hostType = typeof g[0] == a ? f : g[0].toLowerCase();
        c.hostPlatform = typeof g[1] == a ? f : g[1].toLowerCase();
        c.hostSpecificFileVersion = typeof g[2] == a ? f : g[2].toLowerCase();
        c.hostLocale = typeof g[3] == a ? f : g[3].toLowerCase();
        c.osfControlAppCorrelationId = typeof g[4] == a ? f : g[4];
        if (c.osfControlAppCorrelationId == 'telemetry')
          c.osfControlAppCorrelationId = f;
        c.isDialog = typeof g[5] != a && g[5] == l ? d : e;
        c.disableLogging = typeof g[6] != a && g[6] == 'disableLogging' ? d : e;
        c.flags =
          typeof g[7] === 'string' && g[7].length > 0 ? parseInt(g[7]) : 0;
        var t = parseFloat(c.hostSpecificFileVersion),
          n = OSF.HostSpecificFileVersionDefault;
        if (
          OSF.HostSpecificFileVersionMap[c.hostType] &&
          OSF.HostSpecificFileVersionMap[c.hostType][c.hostPlatform]
        )
          n = OSF.HostSpecificFileVersionMap[c.hostType][c.hostPlatform];
        if (t > parseFloat(n)) c.hostSpecificFileVersion = n;
        if (j)
          try {
            j.setItem(i, h);
          } catch (v) {}
      } else {
        c.isO15 = d;
        c.hostLocale = p('locale');
      }
    },
    D = function (b, a) {
      OSF.AppTelemetry &&
        OSF.AppTelemetry.logAppCommonMessage &&
        OSF.AppTelemetry.logAppCommonMessage('getAppContextAsync starts');
      i.getAppContext(b, a);
    },
    G = function () {
      E();
      A();
      if (
        c.hostPlatform == 'web' &&
        c.isDialog &&
        window == window.top &&
        window.opener == b
      ) {
        window.open(f, '_self', f);
        window.close();
      }
      if (
        (c.flags &
          (OSF.HostInfoFlags.SharedApp | OSF.HostInfoFlags.CustomFunction)) !==
        0
      )
        if (typeof window.Promise === a) window.Promise = window.Office.Promise;
      h.setAppCorrelationId(c.osfControlAppCorrelationId);
      var k = h.getOfficeJsBasePath(),
        B = e;
      if (!k)
        throw (
          'Office Web Extension script library file name should be ' +
          OSF.ConstantNames.OfficeJS +
          ' or ' +
          OSF.ConstantNames.OfficeDebugJS +
          '.'
        );
      var l = function () {
          if (
            (typeof Sys !== a &&
              typeof Type !== a &&
              Sys.StringBuilder &&
              typeof Sys.StringBuilder === g &&
              Type.registerNamespace &&
              typeof Type.registerNamespace === g &&
              Type.registerClass &&
              typeof Type.registerClass === g) ||
            (typeof OfficeExt !== a && OfficeExt.MsAjaxError)
          )
            return d;
          else return e;
        },
        n = b,
        v = function (f) {
          var b = e,
            c = function () {
              if (typeof Strings == a || typeof Strings.OfficeOM == a)
                if (!b) {
                  b = d;
                  var g =
                    k +
                    OSF.ConstantNames.DefaultLocale +
                    '/' +
                    OSF.ConstantNames.OfficeStringJS;
                  h.loadScript(
                    g,
                    OSF.ConstantNames.OfficeStringsId,
                    c,
                    d,
                    OSF.ConstantNames.LocaleStringLoadingTimeout
                  );
                  return e;
                } else
                  throw (
                    'Neither the locale, ' +
                    f.toLowerCase() +
                    ', provided by the host app nor the fallback locale ' +
                    OSF.ConstantNames.DefaultLocale +
                    ' are supported.'
                  );
              else {
                b = e;
                n = Strings.OfficeOM;
              }
            };
          if (!l()) {
            window.Type = Function;
            Type.registerNamespace = function (a) {
              window[a] = window[a] || {};
            };
            Type.prototype.registerClass = function (a) {
              a = {};
            };
          }
          var g =
            k +
            OSF.getSupportedLocale(f, OSF.ConstantNames.DefaultLocale) +
            '/' +
            OSF.ConstantNames.OfficeStringJS;
          h.loadScript(
            g,
            OSF.ConstantNames.OfficeStringsId,
            c,
            d,
            OSF.ConstantNames.LocaleStringLoadingTimeout
          );
        },
        o = function (s) {
          if (s) {
            i = new OSF.InitializationHelper(c, j, r, H, q);
            c.hostPlatform == 'web' &&
              i.saveAndSetDialogInfo &&
              i.saveAndSetDialogInfo(p(m));
            i.setAgaveHostCommunication();
            if (typeof OSFPerformance !== a)
              OSFPerformance.getAppContextStart = OSFPerformance.now();
            D(j.wnd, function (d) {
              if (typeof OSFPerformance !== a)
                OSFPerformance.getAppContextEnd = OSFPerformance.now();
              OSF.AppTelemetry &&
                OSF.AppTelemetry.logAppCommonMessage &&
                OSF.AppTelemetry.logAppCommonMessage(
                  'getAppContextAsync callback start'
                );
              w = d._appInstanceId;
              if (d.get_featureGates) {
                var e = d.get_featureGates();
                if (e) Microsoft.Office.WebExtension.FeatureGates = e;
              }
              var f = function () {
                var a = c.hostSpecificFileVersion.split('.');
                if (d.get_appMinorVersion) {
                  var b = c.hostPlatform == 'ios';
                  if (!b)
                    if (isNaN(d.get_appMinorVersion()))
                      d._appMinorVersion = parseInt(a[1]);
                    else if (a.length > 1 && !isNaN(Number(a[1])))
                      d._appMinorVersion = parseInt(a[1]);
                }
                if (c.isDialog) d._isDialog = c.isDialog;
              };
              f();
              var j = function () {
                i.prepareApiSurface && i.prepareApiSurface(d);
                h.waitForFunction(
                  function () {
                    return (
                      Microsoft.Office.WebExtension.initialize != undefined || u
                    );
                  },
                  function (f) {
                    if (f) {
                      if (i.prepareApiSurface)
                        Microsoft.Office.WebExtension.initialize &&
                          Microsoft.Office.WebExtension.initialize(
                            i.getInitializationReason(d)
                          );
                      else {
                        if (!Microsoft.Office.WebExtension.initialize)
                          Microsoft.Office.WebExtension.initialize = function () {};
                        i.prepareRightBeforeWebExtensionInitialize(d);
                      }
                      i.prepareRightAfterWebExtensionInitialize &&
                        i.prepareRightAfterWebExtensionInitialize();
                      var e = d.get_appName(),
                        a = b;
                      if ((c.flags & OSF.HostInfoFlags.SharedApp) !== 0)
                        a = {
                          visibilityMode:
                            y[
                              d.get_initialDisplayMode &&
                              typeof d.get_initialDisplayMode === g
                                ? d.get_initialDisplayMode()
                                : 0
                            ],
                        };
                      t({
                        host: OfficeExt.HostName.Host.getInstance().getHost(e),
                        platform: OfficeExt.HostName.Host.getInstance().getPlatform(
                          e
                        ),
                        addin: a,
                      });
                    } else
                      throw new Error(
                        'Office.js has not fully loaded. Your app must call "Office.onReady()" as part of it\'s loading sequence (or set the "Office.initialize" function). If your app has this functionality, try reloading this page.'
                      );
                  },
                  400,
                  50
                );
              };
              !h.isScriptLoading(OSF.ConstantNames.OfficeStringsId) &&
                v(d.get_appUILocale());
              h.waitForScripts(
                [OSF.ConstantNames.OfficeStringsId],
                function () {
                  if (n && !Strings.OfficeOM) Strings.OfficeOM = n;
                  i.loadAppSpecificScriptAndCreateOM(d, j, k);
                  if (typeof OSFPerformance !== a)
                    OSFPerformance.createOMEnd = OSFPerformance.now();
                }
              );
            });
            if (c.isO15) {
              var o = OSF.OUtil.parseXdmInfo() == b;
              if (o) {
                var f = d;
                if (window.external && typeof window.external.GetContext !== a)
                  try {
                    window.external.GetContext();
                    f = e;
                  } catch (x) {}
                f && t({ host: b, platform: b, addin: b });
              }
            }
          } else {
            var l = 'MicrosoftAjax.js is not loaded successfully.';
            OSF.AppTelemetry &&
              OSF.AppTelemetry.logAppException &&
              OSF.AppTelemetry.logAppException(l);
            throw l;
          }
        },
        x = function () {
          OSF.AppTelemetry &&
            OSF.AppTelemetry.setOsfControlAppCorrelationId &&
            OSF.AppTelemetry.setOsfControlAppCorrelationId(
              c.osfControlAppCorrelationId
            );
          if (h.isScriptLoading(OSF.ConstantNames.MicrosoftAjaxId))
            h.waitForScripts([OSF.ConstantNames.MicrosoftAjaxId], o);
          else h.waitForFunction(l, o, 500, 100);
        };
      if (c.isO15)
        h.loadScript(
          k + OSF.ConstantNames.O15InitHelper,
          OSF.ConstantNames.O15MappingId,
          x
        );
      else {
        var s =
          [
            c.hostType,
            c.hostPlatform,
            c.hostSpecificFileVersion,
            OSF.ConstantNames.HostFileScriptSuffix || b,
          ]
            .filter(function (a) {
              return a != b;
            })
            .join('-') + '.js';
        h.loadScript(k + s.toLowerCase(), OSF.ConstantNames.HostFileId, x);
        if (typeof OSFPerformance !== a)
          OSFPerformance.hostSpecificFileName = s;
      }
      c.hostLocale && v(c.hostLocale);
      if (B && !l()) {
        var C =
          (window.location.protocol.toLowerCase() === 'https:'
            ? 'https:'
            : 'http:') + '//ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js';
        h.loadScriptParallel(C, OSF.ConstantNames.MicrosoftAjaxId);
      }
      window.confirm = function () {
        throw new Error('Function window.confirm is not supported.');
      };
      window.alert = function () {
        throw new Error('Function window.alert is not supported.');
      };
      window.prompt = function () {
        throw new Error('Function window.prompt is not supported.');
      };
      var z = c.hostType == 'outlook' && c.hostPlatform == 'android';
      if (!z) {
        window.history.replaceState = b;
        window.history.pushState = b;
      }
    };
  G();
  window.addEventListener &&
    window.addEventListener('DOMContentLoaded', function () {
      Microsoft.Office.WebExtension.onReadyInternal(function () {
        typeof OSFPerfUtil !== a && OSFPerfUtil.sendPerformanceTelemetry();
      });
    });
  return {
    getId: function () {
      return j.id;
    },
    getClientEndPoint: function () {
      return j.clientEndPoint;
    },
    getContext: function () {
      return r;
    },
    setContext: function (a) {
      r = a;
    },
    getHostInfo: function () {
      return c;
    },
    getLoggingAllowed: function () {
      return l;
    },
    getHostFacade: function () {
      return q;
    },
    setHostFacade: function (a) {
      q = a;
    },
    getInitializationHelper: function () {
      return i;
    },
    getCachedSessionSettingsKey: function () {
      return (
        (j.conversationID != b ? j.conversationID : w) + 'CachedSessionSettings'
      );
    },
    getWebAppState: function () {
      return j;
    },
    getWindowLocationHash: function () {
      return C;
    },
    getWindowLocationSearch: function () {
      return B;
    },
    getLoadScriptHelper: function () {
      return h;
    },
    getWindowName: function () {
      return x;
    },
  };
})();

var oteljs = (function (e) {
  var t = {};
  function n(i) {
    if (t[i]) return t[i].exports;
    var r = (t[i] = { i: i, l: !1, exports: {} });
    return e[i].call(r.exports, r, r.exports, n), (r.l = !0), r.exports;
  }
  return (
    (n.m = e),
    (n.c = t),
    (n.d = function (e, t, i) {
      n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i });
    }),
    (n.r = function (e) {
      'undefined' != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
        Object.defineProperty(e, '__esModule', { value: !0 });
    }),
    (n.t = function (e, t) {
      if ((1 & t && (e = n(e)), 8 & t)) return e;
      if (4 & t && 'object' == typeof e && e && e.__esModule) return e;
      var i = Object.create(null);
      if (
        (n.r(i),
        Object.defineProperty(i, 'default', { enumerable: !0, value: e }),
        2 & t && 'string' != typeof e)
      )
        for (var r in e)
          n.d(
            i,
            r,
            function (t) {
              return e[t];
            }.bind(null, r)
          );
      return i;
    }),
    (n.n = function (e) {
      var t =
        e && e.__esModule
          ? function () {
              return e.default;
            }
          : function () {
              return e;
            };
      return n.d(t, 'a', t), t;
    }),
    (n.o = function (e, t) {
      return Object.prototype.hasOwnProperty.call(e, t);
    }),
    (n.p = ''),
    n((n.s = 19))
  );
})([
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return o;
    }),
      n.d(t, 'd', function () {
        return a;
      }),
      n.d(t, 'b', function () {
        return c;
      }),
      n.d(t, 'e', function () {
        return s;
      }),
      n.d(t, 'c', function () {
        return u;
      });
    var i = n(3),
      r = n(4);
    function o(e, t) {
      return {
        name: e,
        dataType: i.a.Boolean,
        value: t,
        classification: r.a.SystemMetadata,
      };
    }
    function a(e, t) {
      return {
        name: e,
        dataType: i.a.Int64,
        value: t,
        classification: r.a.SystemMetadata,
      };
    }
    function c(e, t) {
      return {
        name: e,
        dataType: i.a.Double,
        value: t,
        classification: r.a.SystemMetadata,
      };
    }
    function s(e, t) {
      return {
        name: e,
        dataType: i.a.String,
        value: t,
        classification: r.a.SystemMetadata,
      };
    }
    function u(e, t) {
      return {
        name: e,
        dataType: i.a.Guid,
        value: t,
        classification: r.a.SystemMetadata,
      };
    }
  },
  function (e, t, n) {
    'use strict';
    n.d(t, 'b', function () {
      return i;
    }),
      n.d(t, 'a', function () {
        return r;
      }),
      n.d(t, 'e', function () {
        return a;
      }),
      n.d(t, 'd', function () {
        return c;
      }),
      n.d(t, 'c', function () {
        return s;
      });
    var i,
      r,
      o = new (n(9).a)();
    function a() {
      return o;
    }
    function c(e, t, n) {
      o.fireEvent({ level: e, category: t, message: n });
    }
    function s(e, t, n) {
      c(i.Error, e, function () {
        var e = n instanceof Error ? n.message : '';
        return t + ': ' + e;
      });
    }
    !(function (e) {
      (e[(e.Error = 0)] = 'Error'),
        (e[(e.Warning = 1)] = 'Warning'),
        (e[(e.Info = 2)] = 'Info'),
        (e[(e.Verbose = 3)] = 'Verbose');
    })(i || (i = {})),
      (function (e) {
        (e[(e.Core = 0)] = 'Core'),
          (e[(e.Sink = 1)] = 'Sink'),
          (e[(e.Transport = 2)] = 'Transport');
      })(r || (r = {}));
  },
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return r;
    });
    var i = n(0);
    function r(e, t, n) {
      e.push(Object(i.e)('zC.' + t, n));
    }
  },
  function (e, t, n) {
    'use strict';
    var i;
    n.d(t, 'a', function () {
      return i;
    }),
      (function (e) {
        (e[(e.String = 0)] = 'String'),
          (e[(e.Boolean = 1)] = 'Boolean'),
          (e[(e.Int64 = 2)] = 'Int64'),
          (e[(e.Double = 3)] = 'Double'),
          (e[(e.Guid = 4)] = 'Guid');
      })(i || (i = {}));
  },
  function (e, t, n) {
    'use strict';
    var i;
    n.d(t, 'a', function () {
      return i;
    }),
      (function (e) {
        (e[(e.EssentialServiceMetadata = 1)] = 'EssentialServiceMetadata'),
          (e[(e.AccountData = 2)] = 'AccountData'),
          (e[(e.SystemMetadata = 4)] = 'SystemMetadata'),
          (e[(e.OrganizationIdentifiableInformation = 8)] =
            'OrganizationIdentifiableInformation'),
          (e[(e.EndUserIdentifiableInformation = 16)] =
            'EndUserIdentifiableInformation'),
          (e[(e.CustomerContent = 32)] = 'CustomerContent'),
          (e[(e.AccessControl = 64)] = 'AccessControl');
      })(i || (i = {}));
  },
  function (e, t, n) {
    'use strict';
    var i, r, o, a, c;
    n.d(t, 'e', function () {
      return i;
    }),
      n.d(t, 'd', function () {
        return r;
      }),
      n.d(t, 'a', function () {
        return o;
      }),
      n.d(t, 'b', function () {
        return a;
      }),
      n.d(t, 'c', function () {
        return c;
      }),
      (function (e) {
        (e[(e.NotSet = 0)] = 'NotSet'),
          (e[(e.Measure = 1)] = 'Measure'),
          (e[(e.Diagnostics = 2)] = 'Diagnostics'),
          (e[(e.CriticalBusinessImpact = 191)] = 'CriticalBusinessImpact'),
          (e[(e.CriticalCensus = 192)] = 'CriticalCensus'),
          (e[(e.CriticalExperimentation = 193)] = 'CriticalExperimentation'),
          (e[(e.CriticalUsage = 194)] = 'CriticalUsage');
      })(i || (i = {})),
      (function (e) {
        (e[(e.NotSet = 0)] = 'NotSet'),
          (e[(e.Normal = 1)] = 'Normal'),
          (e[(e.High = 2)] = 'High');
      })(r || (r = {})),
      (function (e) {
        (e[(e.NotSet = 0)] = 'NotSet'),
          (e[(e.Normal = 1)] = 'Normal'),
          (e[(e.High = 2)] = 'High');
      })(o || (o = {})),
      (function (e) {
        (e[(e.NotSet = 0)] = 'NotSet'),
          (e[(e.SoftwareSetup = 1)] = 'SoftwareSetup'),
          (e[(e.ProductServiceUsage = 2)] = 'ProductServiceUsage'),
          (e[(e.ProductServicePerformance = 4)] = 'ProductServicePerformance'),
          (e[(e.DeviceConfiguration = 8)] = 'DeviceConfiguration'),
          (e[(e.InkingTypingSpeech = 16)] = 'InkingTypingSpeech');
      })(a || (a = {})),
      (function (e) {
        (e[(e.ReservedDoNotUse = 0)] = 'ReservedDoNotUse'),
          (e[(e.BasicEvent = 10)] = 'BasicEvent'),
          (e[(e.FullEvent = 100)] = 'FullEvent'),
          (e[(e.NecessaryServiceDataEvent = 110)] =
            'NecessaryServiceDataEvent'),
          (e[(e.AlwaysOnNecessaryServiceDataEvent = 120)] =
            'AlwaysOnNecessaryServiceDataEvent');
      })(c || (c = {}));
  },
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return p;
    });
    var i,
      r,
      o,
      a,
      c,
      s,
      u,
      d,
      f,
      l = n(0),
      v = n(2);
    ((i || (i = {})).getFields = function (e, t) {
      var n = [];
      return (
        n.push(Object(l.d)(e + '.Code', t.code)),
        void 0 !== t.type && n.push(Object(l.e)(e + '.Type', t.type)),
        void 0 !== t.tag && n.push(Object(l.d)(e + '.Tag', t.tag)),
        void 0 !== t.isExpected &&
          n.push(Object(l.a)(e + '.IsExpected', t.isExpected)),
        Object(v.a)(n, e, 'Office.System.Result'),
        n
      );
    }),
      ((o = r || (r = {})).contractName = 'Office.System.Activity'),
      (o.getFields = function (e) {
        var t = [];
        return (
          void 0 !== e.cV && t.push(Object(l.e)('Activity.CV', e.cV)),
          t.push(Object(l.d)('Activity.Duration', e.duration)),
          t.push(Object(l.d)('Activity.Count', e.count)),
          t.push(Object(l.d)('Activity.AggMode', e.aggMode)),
          void 0 !== e.success &&
            t.push(Object(l.a)('Activity.Success', e.success)),
          void 0 !== e.result &&
            t.push.apply(t, i.getFields('Activity.Result', e.result)),
          Object(v.a)(t, 'Activity', o.contractName),
          t
        );
      }),
      ((a || (a = {})).getFields = function (e, t) {
        var n = [];
        return (
          void 0 !== t.id && n.push(Object(l.e)(e + '.Id', t.id)),
          void 0 !== t.version &&
            n.push(Object(l.e)(e + '.Version', t.version)),
          void 0 !== t.sessionId &&
            n.push(Object(l.e)(e + '.SessionId', t.sessionId)),
          Object(v.a)(n, e, 'Office.System.Host'),
          n
        );
      }),
      ((c || (c = {})).getFields = function (e, t) {
        var n = [];
        return (
          void 0 !== t.alias && n.push(Object(l.e)(e + '.Alias', t.alias)),
          void 0 !== t.primaryIdentityHash &&
            n.push(
              Object(l.e)(e + '.PrimaryIdentityHash', t.primaryIdentityHash)
            ),
          void 0 !== t.primaryIdentitySpace &&
            n.push(
              Object(l.e)(e + '.PrimaryIdentitySpace', t.primaryIdentitySpace)
            ),
          void 0 !== t.tenantId &&
            n.push(Object(l.e)(e + '.TenantId', t.tenantId)),
          void 0 !== t.tenantGroup &&
            n.push(Object(l.e)(e + '.TenantGroup', t.tenantGroup)),
          void 0 !== t.isAnonymous &&
            n.push(Object(l.a)(e + '.IsAnonymous', t.isAnonymous)),
          Object(v.a)(n, e, 'Office.System.User'),
          n
        );
      }),
      ((s || (s = {})).getFields = function (e, t) {
        var n = [];
        return (
          void 0 !== t.id && n.push(Object(l.e)(e + '.Id', t.id)),
          void 0 !== t.version &&
            n.push(Object(l.e)(e + '.Version', t.version)),
          void 0 !== t.instanceId &&
            n.push(Object(l.e)(e + '.InstanceId', t.instanceId)),
          void 0 !== t.name && n.push(Object(l.e)(e + '.Name', t.name)),
          void 0 !== t.marketplaceType &&
            n.push(Object(l.e)(e + '.MarketplaceType', t.marketplaceType)),
          void 0 !== t.sessionId &&
            n.push(Object(l.e)(e + '.SessionId', t.sessionId)),
          void 0 !== t.browserToken &&
            n.push(Object(l.e)(e + '.BrowserToken', t.browserToken)),
          void 0 !== t.osfRuntimeVersion &&
            n.push(Object(l.e)(e + '.OsfRuntimeVersion', t.osfRuntimeVersion)),
          void 0 !== t.officeJsVersion &&
            n.push(Object(l.e)(e + '.OfficeJsVersion', t.officeJsVersion)),
          void 0 !== t.hostJsVersion &&
            n.push(Object(l.e)(e + '.HostJsVersion', t.hostJsVersion)),
          void 0 !== t.assetId &&
            n.push(Object(l.e)(e + '.AssetId', t.assetId)),
          void 0 !== t.providerName &&
            n.push(Object(l.e)(e + '.ProviderName', t.providerName)),
          void 0 !== t.type && n.push(Object(l.e)(e + '.Type', t.type)),
          Object(v.a)(n, e, 'Office.System.SDX'),
          n
        );
      }),
      ((u || (u = {})).getFields = function (e, t) {
        var n = [];
        return (
          void 0 !== t.name && n.push(Object(l.e)(e + '.Name', t.name)),
          void 0 !== t.state && n.push(Object(l.e)(e + '.State', t.state)),
          Object(v.a)(n, e, 'Office.System.Funnel'),
          n
        );
      }),
      ((d || (d = {})).getFields = function (e, t) {
        var n = [];
        return (
          void 0 !== t.id && n.push(Object(l.d)(e + '.Id', t.id)),
          void 0 !== t.name && n.push(Object(l.e)(e + '.Name', t.name)),
          void 0 !== t.commandSurface &&
            n.push(Object(l.e)(e + '.CommandSurface', t.commandSurface)),
          void 0 !== t.parentName &&
            n.push(Object(l.e)(e + '.ParentName', t.parentName)),
          void 0 !== t.triggerMethod &&
            n.push(Object(l.e)(e + '.TriggerMethod', t.triggerMethod)),
          void 0 !== t.timeOffsetMs &&
            n.push(Object(l.d)(e + '.TimeOffsetMs', t.timeOffsetMs)),
          Object(v.a)(n, e, 'Office.System.UserAction'),
          n
        );
      }),
      (function (e) {
        e.getFields = function (e, t) {
          var n = [];
          return (
            n.push(Object(l.e)(e + '.ErrorGroup', t.errorGroup)),
            n.push(Object(l.d)(e + '.Tag', t.tag)),
            void 0 !== t.code && n.push(Object(l.d)(e + '.Code', t.code)),
            void 0 !== t.id && n.push(Object(l.d)(e + '.Id', t.id)),
            void 0 !== t.count && n.push(Object(l.d)(e + '.Count', t.count)),
            Object(v.a)(n, e, 'Office.System.Error'),
            n
          );
        };
      })(f || (f = {}));
    var p,
      y = r,
      g = i,
      h = f,
      m = u,
      b = a,
      F = s,
      S = d,
      O = c;
    !(function (e) {
      !(function (e) {
        !(function (e) {
          (e.Activity = y),
            (e.Result = g),
            (e.Error = h),
            (e.Funnel = m),
            (e.Host = b),
            (e.SDX = F),
            (e.User = O),
            (e.UserAction = S);
        })(e.System || (e.System = {}));
      })(e.Office || (e.Office = {}));
    })(p || (p = {}));
  },
  function (e, t, n) {
    'use strict';
    n.d(t, 'b', function () {
      return f;
    }),
      n.d(t, 'a', function () {
        return l;
      });
    var i,
      r,
      o = n(1);
    !(function (e) {
      (e[(e.Aria = 0)] = 'Aria'), (e[(e.Nexus = 1)] = 'Nexus');
    })(i || (i = {})),
      (function (e) {
        var t = {},
          n = {},
          r = {};
        function a(e) {
          if ('object' != typeof e)
            throw new Error('tokenTree must be an object');
          r = (function e(t, n) {
            if ('object' != typeof n) return n;
            for (var i = 0, r = Object.keys(n); i < r.length; i++) {
              var o = r[i];
              o in t && (t[o], 1) ? (t[o] = e(t[o], n[o])) : (t[o] = n[o]);
            }
            return t;
          })(r, e);
        }
        function c(e) {
          if (t[e]) return t[e];
          var n = u(e, i.Aria);
          return 'string' == typeof n ? ((t[e] = n), n) : void 0;
        }
        function s(e) {
          if (n[e]) return n[e];
          var t = u(e, i.Nexus);
          return 'number' == typeof t ? ((n[e] = t), t) : void 0;
        }
        function u(e, t) {
          var n = e.split('.'),
            o = r,
            a = void 0;
          if (o) {
            for (var c = 0; c < n.length - 1; c++)
              o[n[c]] &&
                ((o = o[n[c]]),
                t === i.Aria && 'string' == typeof o.ariaTenantToken
                  ? (a = o.ariaTenantToken)
                  : t === i.Nexus &&
                    'number' == typeof o.nexusTenantToken &&
                    (a = o.nexusTenantToken));
            return a;
          }
        }
        (e.setTenantToken = function (e, t, n) {
          var i = e.split('.');
          if (i.length < 2 || 'Office' !== i[0])
            Object(o.d)(o.b.Error, o.a.Core, function () {
              return 'Invalid namespace: ' + e;
            });
          else {
            var r = Object.create(Object.prototype);
            t && (r.ariaTenantToken = t), n && (r.nexusTenantToken = n);
            var c,
              s = r;
            for (c = i.length - 1; c >= 0; --c) {
              var u = Object.create(Object.prototype);
              (u[i[c]] = s), (s = u);
            }
            a(s);
          }
        }),
          (e.setTenantTokens = a),
          (e.getTenantTokens = function (e) {
            var t = c(e),
              n = s(e);
            if (!n || !t)
              throw new Error('Could not find tenant token for ' + e);
            return { ariaTenantToken: t, nexusTenantToken: n };
          }),
          (e.getAriaTenantToken = c),
          (e.getNexusTenantToken = s),
          (e.clear = function () {
            (t = {}), (n = {}), (r = {});
          });
      })(r || (r = {}));
    var a,
      c = n(3);
    !(function (e) {
      var t = /^[A-Z][a-zA-Z0-9]*$/,
        n = /^[a-zA-Z0-9_\.]*$/;
      function i(e) {
        return void 0 !== e && n.test(e);
      }
      function r(e) {
        if (!((t = e.name) && i(t) && t.length + 5 < 100))
          throw new Error('Invalid dataField name');
        var t;
        e.dataType === c.a.Int64 && o(e.value);
      }
      function o(e) {
        if (
          'number' != typeof e ||
          !isFinite(e) ||
          Math.floor(e) !== e ||
          e < -9007199254740991 ||
          e > 9007199254740991
        )
          throw new Error('Invalid integer ' + JSON.stringify(e));
      }
      (e.validateTelemetryEvent = function (e) {
        if (
          !(function (e) {
            if (!e || e.length > 98) return !1;
            var n = e.split('.'),
              i = n[n.length - 1];
            return (
              (function (e) {
                return !!e && e.length >= 3 && 'Office' === e[0];
              })(n) && ((r = i), void 0 !== r && t.test(r))
            );
            var r;
          })(e.eventName)
        )
          throw new Error('Invalid eventName');
        if (e.eventContract && !i(e.eventContract.name))
          throw new Error('Invalid eventContract');
        if (null != e.dataFields)
          for (var n = 0; n < e.dataFields.length; n++) r(e.dataFields[n]);
      }),
        (e.validateInt = o);
    })(a || (a = {}));
    var s = n(9),
      u = n(0),
      d = function () {
        return (d =
          Object.assign ||
          function (e) {
            for (var t, n = 1, i = arguments.length; n < i; n++)
              for (var r in (t = arguments[n]))
                Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
            return e;
          }).apply(this, arguments);
      },
      f = -1,
      l = (function () {
        function e(e, t, n) {
          var i, r;
          (this.onSendEvent = new s.a()),
            (this.persistentDataFields = []),
            (this.config = n || {}),
            e
              ? ((this.onSendEvent = e.onSendEvent),
                (i = this.persistentDataFields).push.apply(
                  i,
                  e.persistentDataFields
                ),
                (this.config = d(d({}, e.getConfig()), this.config)))
              : this.persistentDataFields.push(
                  Object(u.e)('OTelJS.Version', '3.1.51')
                ),
            t && (r = this.persistentDataFields).push.apply(r, t);
        }
        return (
          (e.prototype.sendTelemetryEvent = function (e) {
            var t;
            try {
              if (0 === this.onSendEvent.getListenerCount())
                return void Object(o.d)(o.b.Warning, o.a.Core, function () {
                  return 'No telemetry sinks are attached.';
                });
              (t = this.cloneEvent(e)), this.processTelemetryEvent(t);
            } catch (e) {
              return void Object(o.c)(o.a.Core, 'SendTelemetryEvent', e);
            }
            try {
              this.onSendEvent.fireEvent(t);
            } catch (e) {}
          }),
          (e.prototype.processTelemetryEvent = function (e) {
            var t;
            e.telemetryProperties ||
              (e.telemetryProperties = r.getTenantTokens(e.eventName)),
              e.dataFields &&
                this.persistentDataFields &&
                (t = e.dataFields).unshift.apply(t, this.persistentDataFields),
              this.config.disableValidation || a.validateTelemetryEvent(e);
          }),
          (e.prototype.addSink = function (e) {
            this.onSendEvent.addListener(function (t) {
              return e.sendTelemetryEvent(t);
            });
          }),
          (e.prototype.setTenantToken = function (e, t, n) {
            r.setTenantToken(e, t, n);
          }),
          (e.prototype.setTenantTokens = function (e) {
            r.setTenantTokens(e);
          }),
          (e.prototype.cloneEvent = function (e) {
            var t = { eventName: e.eventName, eventFlags: e.eventFlags };
            return (
              e.telemetryProperties &&
                (t.telemetryProperties = {
                  ariaTenantToken: e.telemetryProperties.ariaTenantToken,
                  nexusTenantToken: e.telemetryProperties.nexusTenantToken,
                }),
              e.eventContract &&
                (t.eventContract = {
                  name: e.eventContract.name,
                  dataFields: e.eventContract.dataFields.slice(),
                }),
              (t.dataFields = e.dataFields ? e.dataFields.slice() : []),
              t
            );
          }),
          (e.prototype.getConfig = function () {
            return this.config;
          }),
          e
        );
      })();
  },
  function (e, t, n) {
    'use strict';
    var i;
    n.d(t, 'a', function () {
      return s;
    }),
      (function (e) {
        var t,
          n = 0;
        (e.getNext = function () {
          return (
            void 0 === t &&
              (t = (function () {
                for (
                  var e =
                      'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
                    t = [],
                    n = 0;
                  n < 22;
                  n++
                )
                  t.push(e.charAt(Math.floor(Math.random() * e.length)));
                return t.join('');
              })()),
            new i(t, ++n)
          );
        }),
          (e.getNextChild = function (e) {
            return new i(e.getString(), ++e.nextChild);
          });
        var i = (function () {
          function e(e, t) {
            (this.base = e), (this.id = t), (this.nextChild = 0);
          }
          return (
            (e.prototype.getString = function () {
              return this.base + '.' + this.id;
            }),
            e
          );
        })();
        e.CV = i;
      })(i || (i = {}));
    var r = n(1),
      o = function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
          function a(e) {
            try {
              s(i.next(e));
            } catch (e) {
              o(e);
            }
          }
          function c(e) {
            try {
              s(i.throw(e));
            } catch (e) {
              o(e);
            }
          }
          function s(e) {
            var t;
            e.done
              ? r(e.value)
              : ((t = e.value),
                t instanceof n
                  ? t
                  : new n(function (e) {
                      e(t);
                    })).then(a, c);
          }
          s((i = i.apply(e, t || [])).next());
        });
      },
      a = function (e, t) {
        var n,
          i,
          r,
          o,
          a = {
            label: 0,
            sent: function () {
              if (1 & r[0]) throw r[1];
              return r[1];
            },
            trys: [],
            ops: [],
          };
        return (
          (o = { next: c(0), throw: c(1), return: c(2) }),
          'function' == typeof Symbol &&
            (o[Symbol.iterator] = function () {
              return this;
            }),
          o
        );
        function c(o) {
          return function (c) {
            return (function (o) {
              if (n) throw new TypeError('Generator is already executing.');
              for (; a; )
                try {
                  if (
                    ((n = 1),
                    i &&
                      (r =
                        2 & o[0]
                          ? i.return
                          : o[0]
                          ? i.throw || ((r = i.return) && r.call(i), 0)
                          : i.next) &&
                      !(r = r.call(i, o[1])).done)
                  )
                    return r;
                  switch (((i = 0), r && (o = [2 & o[0], r.value]), o[0])) {
                    case 0:
                    case 1:
                      r = o;
                      break;
                    case 4:
                      return a.label++, { value: o[1], done: !1 };
                    case 5:
                      a.label++, (i = o[1]), (o = [0]);
                      continue;
                    case 7:
                      (o = a.ops.pop()), a.trys.pop();
                      continue;
                    default:
                      if (
                        !((r = a.trys),
                        (r = r.length > 0 && r[r.length - 1]) ||
                          (6 !== o[0] && 2 !== o[0]))
                      ) {
                        a = 0;
                        continue;
                      }
                      if (3 === o[0] && (!r || (o[1] > r[0] && o[1] < r[3]))) {
                        a.label = o[1];
                        break;
                      }
                      if (6 === o[0] && a.label < r[1]) {
                        (a.label = r[1]), (r = o);
                        break;
                      }
                      if (r && a.label < r[2]) {
                        (a.label = r[2]), a.ops.push(o);
                        break;
                      }
                      r[2] && a.ops.pop(), a.trys.pop();
                      continue;
                  }
                  o = t.call(e, a);
                } catch (e) {
                  (o = [6, e]), (i = 0);
                } finally {
                  n = r = 0;
                }
              if (5 & o[0]) throw o[1];
              return { value: o[0] ? o[1] : void 0, done: !0 };
            })([o, c]);
          };
        }
      },
      c = function () {
        return 1e3 * Date.now();
      };
    'object' == typeof window.performance &&
      'now' in window.performance &&
      (c = function () {
        return 1e3 * Math.floor(window.performance.now());
      });
    var s = (function () {
      function e(e, t, n) {
        (this._optionalEventFlags = {}),
          (this._ended = !1),
          (this._telemetryLogger = e),
          (this._activityName = t),
          (this._cv = n ? i.getNextChild(n._cv) : i.getNext()),
          (this._dataFields = []),
          (this._success = void 0),
          (this._startTime = c());
      }
      return (
        (e.createNew = function (t, n) {
          return new e(t, n);
        }),
        (e.prototype.createChildActivity = function (t) {
          return new e(this._telemetryLogger, t, this);
        }),
        (e.prototype.setEventFlags = function (e) {
          this._optionalEventFlags = e;
        }),
        (e.prototype.addDataField = function (e) {
          this._dataFields.push(e);
        }),
        (e.prototype.addDataFields = function (e) {
          var t;
          (t = this._dataFields).push.apply(t, e);
        }),
        (e.prototype.setSuccess = function (e) {
          this._success = e;
        }),
        (e.prototype.setResult = function (e, t, n) {
          this._result = { code: e, type: t, tag: n };
        }),
        (e.prototype.endNow = function () {
          if (!this._ended) {
            void 0 === this._success &&
              void 0 === this._result &&
              Object(r.d)(r.b.Warning, r.a.Core, function () {
                return 'Activity does not have success or result set';
              });
            var e = c() - this._startTime;
            this._ended = !0;
            var t = {
              duration: e,
              count: 1,
              aggMode: 0,
              cV: this._cv.getString(),
              success: this._success,
              result: this._result,
            };
            return this._telemetryLogger.sendActivity(
              this._activityName,
              t,
              this._dataFields,
              this._optionalEventFlags
            );
          }
          Object(r.d)(r.b.Error, r.a.Core, function () {
            return 'Activity has already ended';
          });
        }),
        (e.prototype.executeAsync = function (e) {
          return o(this, void 0, void 0, function () {
            var t = this;
            return a(this, function (n) {
              return [
                2,
                e(this)
                  .then(function (e) {
                    return t.endNow(), e;
                  })
                  .catch(function (e) {
                    throw (t.endNow(), e);
                  }),
              ];
            });
          });
        }),
        (e.prototype.executeSync = function (e) {
          try {
            var t = e(this);
            return this.endNow(), t;
          } catch (e) {
            throw (this.endNow(), e);
          }
        }),
        (e.prototype.executeChildActivityAsync = function (e, t) {
          return o(this, void 0, void 0, function () {
            return a(this, function (n) {
              return [2, this.createChildActivity(e).executeAsync(t)];
            });
          });
        }),
        (e.prototype.executeChildActivitySync = function (e, t) {
          return this.createChildActivity(e).executeSync(t);
        }),
        e
      );
    })();
  },
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return i;
    });
    var i = (function () {
      function e() {
        this._listeners = [];
      }
      return (
        (e.prototype.fireEvent = function (e) {
          this._listeners.forEach(function (t) {
            return t(e);
          });
        }),
        (e.prototype.addListener = function (e) {
          e && this._listeners.push(e);
        }),
        (e.prototype.removeListener = function (e) {
          this._listeners = this._listeners.filter(function (t) {
            return t !== e;
          });
        }),
        (e.prototype.getListenerCount = function () {
          return this._listeners.length;
        }),
        e
      );
    })();
  },
  function (e, t, n) {
    'use strict';
    n.r(t);
    var i = n(6);
    n.d(t, 'Contracts', function () {
      return i.a;
    });
    var r = n(8);
    n.d(t, 'ActivityScope', function () {
      return r.a;
    });
    var o = n(2);
    n.d(t, 'addContractField', function () {
      return o.a;
    });
    var a = n(11);
    n.d(t, 'getFieldsForContract', function () {
      return a.a;
    });
    var c = n(4);
    n.d(t, 'DataClassification', function () {
      return c.a;
    });
    var s = n(12);
    for (var u in s)
      [
        'Contracts',
        'ActivityScope',
        'addContractField',
        'getFieldsForContract',
        'DataClassification',
        'default',
      ].indexOf(u) < 0 &&
        (function (e) {
          n.d(t, e, function () {
            return s[e];
          });
        })(u);
    var d = n(0);
    n.d(t, 'makeBooleanDataField', function () {
      return d.a;
    }),
      n.d(t, 'makeInt64DataField', function () {
        return d.d;
      }),
      n.d(t, 'makeDoubleDataField', function () {
        return d.b;
      }),
      n.d(t, 'makeStringDataField', function () {
        return d.e;
      }),
      n.d(t, 'makeGuidDataField', function () {
        return d.c;
      });
    var f = n(3);
    n.d(t, 'DataFieldType', function () {
      return f.a;
    });
    var l = n(13);
    n.d(t, 'getEffectiveEventFlags', function () {
      return l.a;
    });
    var v = n(5);
    n.d(t, 'SamplingPolicy', function () {
      return v.e;
    }),
      n.d(t, 'PersistencePriority', function () {
        return v.d;
      }),
      n.d(t, 'CostPriority', function () {
        return v.a;
      }),
      n.d(t, 'DataCategories', function () {
        return v.b;
      }),
      n.d(t, 'DiagnosticLevel', function () {
        return v.c;
      });
    var p = n(14);
    for (var u in p)
      [
        'Contracts',
        'ActivityScope',
        'addContractField',
        'getFieldsForContract',
        'DataClassification',
        'makeBooleanDataField',
        'makeInt64DataField',
        'makeDoubleDataField',
        'makeStringDataField',
        'makeGuidDataField',
        'DataFieldType',
        'getEffectiveEventFlags',
        'SamplingPolicy',
        'PersistencePriority',
        'CostPriority',
        'DataCategories',
        'DiagnosticLevel',
        'default',
      ].indexOf(u) < 0 &&
        (function (e) {
          n.d(t, e, function () {
            return p[e];
          });
        })(u);
    var y = n(1);
    n.d(t, 'LogLevel', function () {
      return y.b;
    }),
      n.d(t, 'Category', function () {
        return y.a;
      }),
      n.d(t, 'onNotification', function () {
        return y.e;
      }),
      n.d(t, 'logNotification', function () {
        return y.d;
      }),
      n.d(t, 'logError', function () {
        return y.c;
      });
    var g = n(7);
    n.d(t, 'SuppressNexus', function () {
      return g.b;
    }),
      n.d(t, 'SimpleTelemetryLogger', function () {
        return g.a;
      });
    var h = n(15);
    n.d(t, 'TelemetryLogger', function () {
      return h.a;
    });
    var m = n(16);
    for (var u in m)
      [
        'Contracts',
        'ActivityScope',
        'addContractField',
        'getFieldsForContract',
        'DataClassification',
        'makeBooleanDataField',
        'makeInt64DataField',
        'makeDoubleDataField',
        'makeStringDataField',
        'makeGuidDataField',
        'DataFieldType',
        'getEffectiveEventFlags',
        'SamplingPolicy',
        'PersistencePriority',
        'CostPriority',
        'DataCategories',
        'DiagnosticLevel',
        'LogLevel',
        'Category',
        'onNotification',
        'logNotification',
        'logError',
        'SuppressNexus',
        'SimpleTelemetryLogger',
        'TelemetryLogger',
        'default',
      ].indexOf(u) < 0 &&
        (function (e) {
          n.d(t, e, function () {
            return m[e];
          });
        })(u);
    var b = n(17);
    for (var u in b)
      [
        'Contracts',
        'ActivityScope',
        'addContractField',
        'getFieldsForContract',
        'DataClassification',
        'makeBooleanDataField',
        'makeInt64DataField',
        'makeDoubleDataField',
        'makeStringDataField',
        'makeGuidDataField',
        'DataFieldType',
        'getEffectiveEventFlags',
        'SamplingPolicy',
        'PersistencePriority',
        'CostPriority',
        'DataCategories',
        'DiagnosticLevel',
        'LogLevel',
        'Category',
        'onNotification',
        'logNotification',
        'logError',
        'SuppressNexus',
        'SimpleTelemetryLogger',
        'TelemetryLogger',
        'default',
      ].indexOf(u) < 0 &&
        (function (e) {
          n.d(t, e, function () {
            return b[e];
          });
        })(u);
    var F = n(18);
    for (var u in F)
      [
        'Contracts',
        'ActivityScope',
        'addContractField',
        'getFieldsForContract',
        'DataClassification',
        'makeBooleanDataField',
        'makeInt64DataField',
        'makeDoubleDataField',
        'makeStringDataField',
        'makeGuidDataField',
        'DataFieldType',
        'getEffectiveEventFlags',
        'SamplingPolicy',
        'PersistencePriority',
        'CostPriority',
        'DataCategories',
        'DiagnosticLevel',
        'LogLevel',
        'Category',
        'onNotification',
        'logNotification',
        'logError',
        'SuppressNexus',
        'SimpleTelemetryLogger',
        'TelemetryLogger',
        'default',
      ].indexOf(u) < 0 &&
        (function (e) {
          n.d(t, e, function () {
            return F[e];
          });
        })(u);
  },
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return r;
    });
    var i = n(2);
    function r(e, t, n) {
      var r = n.map(function (t) {
        return { name: e + '.' + t.name, value: t.value, dataType: t.dataType };
      });
      return Object(i.a)(r, e, t), r;
    }
  },
  function (e, t) {},
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return o;
    });
    var i = n(5),
      r = n(1);
    function o(e) {
      var t = {
        costPriority: i.a.Normal,
        samplingPolicy: i.e.Measure,
        persistencePriority: i.d.Normal,
        dataCategories: i.b.NotSet,
        diagnosticLevel: i.c.FullEvent,
      };
      return (
        (e.eventFlags && e.eventFlags.dataCategories) ||
          Object(r.d)(r.b.Error, r.a.Core, function () {
            return 'Event is missing DataCategories event flag';
          }),
        e.eventFlags
          ? (e.eventFlags.costPriority &&
              (t.costPriority = e.eventFlags.costPriority),
            e.eventFlags.samplingPolicy &&
              (t.samplingPolicy = e.eventFlags.samplingPolicy),
            e.eventFlags.persistencePriority &&
              (t.persistencePriority = e.eventFlags.persistencePriority),
            e.eventFlags.dataCategories &&
              (t.dataCategories = e.eventFlags.dataCategories),
            e.eventFlags.diagnosticLevel &&
              (t.diagnosticLevel = e.eventFlags.diagnosticLevel),
            t)
          : t
      );
    }
  },
  function (e, t) {},
  function (e, t, n) {
    'use strict';
    n.d(t, 'a', function () {
      return d;
    });
    var i,
      r = n(7),
      o = n(8),
      a = n(6),
      c =
        ((i = function (e, t) {
          return (i =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (e, t) {
                e.__proto__ = t;
              }) ||
            function (e, t) {
              for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
            })(e, t);
        }),
        function (e, t) {
          function n() {
            this.constructor = e;
          }
          i(e, t),
            (e.prototype =
              null === t
                ? Object.create(t)
                : ((n.prototype = t.prototype), new n()));
        }),
      s = function (e, t, n, i) {
        return new (n || (n = Promise))(function (r, o) {
          function a(e) {
            try {
              s(i.next(e));
            } catch (e) {
              o(e);
            }
          }
          function c(e) {
            try {
              s(i.throw(e));
            } catch (e) {
              o(e);
            }
          }
          function s(e) {
            var t;
            e.done
              ? r(e.value)
              : ((t = e.value),
                t instanceof n
                  ? t
                  : new n(function (e) {
                      e(t);
                    })).then(a, c);
          }
          s((i = i.apply(e, t || [])).next());
        });
      },
      u = function (e, t) {
        var n,
          i,
          r,
          o,
          a = {
            label: 0,
            sent: function () {
              if (1 & r[0]) throw r[1];
              return r[1];
            },
            trys: [],
            ops: [],
          };
        return (
          (o = { next: c(0), throw: c(1), return: c(2) }),
          'function' == typeof Symbol &&
            (o[Symbol.iterator] = function () {
              return this;
            }),
          o
        );
        function c(o) {
          return function (c) {
            return (function (o) {
              if (n) throw new TypeError('Generator is already executing.');
              for (; a; )
                try {
                  if (
                    ((n = 1),
                    i &&
                      (r =
                        2 & o[0]
                          ? i.return
                          : o[0]
                          ? i.throw || ((r = i.return) && r.call(i), 0)
                          : i.next) &&
                      !(r = r.call(i, o[1])).done)
                  )
                    return r;
                  switch (((i = 0), r && (o = [2 & o[0], r.value]), o[0])) {
                    case 0:
                    case 1:
                      r = o;
                      break;
                    case 4:
                      return a.label++, { value: o[1], done: !1 };
                    case 5:
                      a.label++, (i = o[1]), (o = [0]);
                      continue;
                    case 7:
                      (o = a.ops.pop()), a.trys.pop();
                      continue;
                    default:
                      if (
                        !((r = a.trys),
                        (r = r.length > 0 && r[r.length - 1]) ||
                          (6 !== o[0] && 2 !== o[0]))
                      ) {
                        a = 0;
                        continue;
                      }
                      if (3 === o[0] && (!r || (o[1] > r[0] && o[1] < r[3]))) {
                        a.label = o[1];
                        break;
                      }
                      if (6 === o[0] && a.label < r[1]) {
                        (a.label = r[1]), (r = o);
                        break;
                      }
                      if (r && a.label < r[2]) {
                        (a.label = r[2]), a.ops.push(o);
                        break;
                      }
                      r[2] && a.ops.pop(), a.trys.pop();
                      continue;
                  }
                  o = t.call(e, a);
                } catch (e) {
                  (o = [6, e]), (i = 0);
                } finally {
                  n = r = 0;
                }
              if (5 & o[0]) throw o[1];
              return { value: o[0] ? o[1] : void 0, done: !0 };
            })([o, c]);
          };
        }
      },
      d = (function (e) {
        function t() {
          return (null !== e && e.apply(this, arguments)) || this;
        }
        return (
          c(t, e),
          (t.prototype.executeActivityAsync = function (e, t) {
            return s(this, void 0, void 0, function () {
              return u(this, function (n) {
                return [2, this.createNewActivity(e).executeAsync(t)];
              });
            });
          }),
          (t.prototype.executeActivitySync = function (e, t) {
            return this.createNewActivity(e).executeSync(t);
          }),
          (t.prototype.createNewActivity = function (e) {
            return o.a.createNew(this, e);
          }),
          (t.prototype.sendActivity = function (e, t, n, i) {
            return this.sendTelemetryEvent({
              eventName: e,
              eventContract: {
                name: a.a.Office.System.Activity.contractName,
                dataFields: a.a.Office.System.Activity.getFields(t),
              },
              dataFields: n,
              eventFlags: i,
            });
          }),
          (t.prototype.sendError = function (e) {
            var t = a.a.Office.System.Error.getFields('Error', e.error);
            return (
              null != e.dataFields && t.push.apply(t, e.dataFields),
              this.sendTelemetryEvent({
                eventName: e.eventName,
                dataFields: t,
                eventFlags: e.eventFlags,
              })
            );
          }),
          t
        );
      })(r.a);
  },
  function (e, t) {},
  function (e, t) {},
  function (e, t) {},
  function (e, t, n) {
    e.exports = n(10);
  },
]);

OSFPerformance.officeExecuteEnd = OSFPerformance.now();
